package dwz.persistence.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import dwz.persistence.ArticleConditionVO;
import dwz.persistence.beans.Article;

/**
 * Created by Eclipse
 * 
 * @author : Yating
 * @version:2017年5月3日 下午3:20:46 类说明
 */
public interface ArticleMapper {

	// 根据文章code列表(String型字符串,以逗号分隔),获取文章列表信息
	List<Article> selectArticleListByCodeList(@Param("codeList") List<String> codeList);

	// 获取所有文章列表
	List<Article> selectArticleList();
	
	// 查
	Article selectArticleByCode(@Param("code") String code);

	// 增
	int insert(Article record);
	
	// 增(草稿库)
	int insertDraft(Article record);
	
	// 增(发布库)
	int insertPublish(Article record);

	// 删
	int deleteByPrimaryKey(@Param("code") String code);
	
	// 改
	int updateByPrimaryKey(@Param("code") String code,@Param("table") String table);
	
	// 发布
	int publishByPrimaryKey(Article record);
	
	// 根据code删除draft表中的文章
	int delPublishByPrimaryKey(@Param("code") String code);
	
	// 根据code删除draft表中的文章
	int delDraftByPrimaryKey(@Param("code") String code);
	
	int updateByCode(Article record);
	
	// 查询
	List<Article> findPageBreakByCondition(ArticleConditionVO vo, RowBounds rb);

	Integer findNumberByCondition(ArticleConditionVO vo);

}
